#include <stdio.h>

#include <FinalCType/String.h>

int	main(int argc, char **argv)
{
    printf("Hello World\n");

    // String 创建，非拷贝创建
    String *noCopyStrEn = createStringWith_cstr("Hello World");
    printf("noCopyStrEn值: %s, 长度: %d\n", noCopyStrEn->value, noCopyStrEn->len);
    // String 销毁，非拷贝销毁
    destroyString(noCopyStrEn); // destroyString 表示不会free数据，如果free常量将会引起断错误

    // String 创建，拷贝创建
    String *copyStrEn = createStringWith_copy_cstr("Hello World");
    printf("copyStrEn值: %s, 长度: %d\n", copyStrEn->value, copyStrEn->len);
    // String 销毁，拷贝销毁
    deleteString(copyStrEn);


    // String 创建，非拷贝创建
    String *noCopyStrZh = createStringWith_cstr("你好世界");
    printf("noCopyStrZh值: %s, 长度: %d\n", noCopyStrZh->value, noCopyStrZh->len);
    // String 销毁，非拷贝销毁
    destroyString(noCopyStrZh);

    // String 创建，拷贝创建
    String *copyStrZh = createStringWith_copy_cstr("你好世界");
    printf("copyStrZh值: %s, 长度: %d\n", copyStrZh->value, copyStrZh->len);
    // String 销毁，拷贝销毁
    deleteString(copyStrZh);

    return 0;
}
